The Internet Protocol (IP) multimedia subsystem (IMS), defined by the 3rd Generation Partnership Project (3GPP), is an architectural framework for implementing IP-based telephony and multimedia services. IMS defines a set of specifications that enables the convergence of voice, video, data and mobile technology over an all IP-based network infrastructure. In particular, IMS fills the gap between two of the most successful communication paradigms, cellular and Internet technology, by providing Internet services everywhere using cellular technology in a more efficient way.
Session Initiation Protocol (SIP) is the main protocol for IMS. SIP is an application-layer control (e.g., signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions may include Internet-based telephone calls, multimedia distribution, multimedia conferences, instant messaging conferences, interactive voice response (IVR) sessions, automated and manual operator services, automatic call distribution, call routing, etc. SIP invitations or INVITES may be used to create sessions and may carry session descriptions that allow participants to agree on a set of compatible media types. SIP may use proxy servers to help route requests to a user's current location, authenticate and authorize users for services, implement provider call-routing policies, and/or provide other features to users.
SIP enforces a limit on the maximum number of hops that a session setup request may traverse on the way to its destination. As defined by the Internet Engineering Task Force's (IETF) Request for Comments (RFC) 3261 (Section 20.22), the maximum number of hops is limited based on a value included in an SIP request header in a field called “Max-Forwards.” The value of the Max-Forwards field decrements each time the session setup request is forwarded to the next SIP proxy server. When a SIP proxy server receives a request containing a Max-Forwards value equal to zero, it returns a “483—too many hops error” response to indicate that the next hop limit was exhausted. The SIP proxy server then ends the request; hence failing the SIP session setup.